Method and system for referencing trading agreements

ABSTRACT

An electronic commerce system supports on-line stores that are accessible by a set of buyers. Each buyer is associated with one of a set of one or more organizations. The electronic commerce system includes the ability to define a base trading agreement with terms and conditions for associated buyers and on-line stores, store settings with terms and conditions associated with one of the on-line stores, and customer preferences trading agreements, associated with organizations. The system includes an application interface for returning a set of governing terms and conditions for a buyer-store electronic commerce session, based on the associated base, store settings and customer preferences trading agreements.

PRIORITY BENEFIT AND CROSS REFERENCE TO RELATED APPLICATIONS

This Application claims priority under 35 U.S.C. §119(a) to CanadianPatent Application No. ______ filed Jun. 17, 2003, which is herebyincorporated herein by reference in its entirety.

TECHNICAL FIELD

The present invention relates generally to electronic commerce web-basedsystems, and in particular, to referencing models for tradingagreements.

2. Background Information

In an electronic commerce (e-commerce) session, a buyer places orderswith a supplier in accordance with a trading agreement. In an e-commercesession, the trading agreement includes terms and conditions thatdescribe specifications for, or limitations on, the business processesthat are available to the buyer during the e-commerce session. Thebusiness logic of the e-commerce session is governed by the defined setof terms and conditions for the buyer and the supplier for thate-commerce session. Different terms and conditions may apply atdifferent times and for different buyers.

In some situations, it is inefficient to require that the entire set ofterms and conditions are specified in a single, uniquely defined,trading agreement for each buyer/supplier interaction. Certain commonterms and conditions may be defined for multiple trading agreements. Forexample, IBM Corporation markets WebSphere Commerce™, which is anelectronic commerce system in which a contract may reference anothertrading agreement (known as a business account) that is defined to becommon for a defined buyer organization. Such inclusion by referenceallows a “business account” to specify terms and conditions for anentire buyer organization, while a specific trading agreement specifiesthe terms and conditions for the e-commerce transaction between theindividual buyers in that organization and the supplier. In this type ofe-commerce system, a buyer organization is expected to have a singlebusiness account but many contracts are expected to reference the samebusiness account.

Such an approach, however, may require duplication among the terms andconditions for various organizations. For example, hosted stores in asingle e-commerce system may all be governed by a single set of termsand conditions, called a “hosting contract,” that must be respected byall trading agreements used by all stores hosted by the e-commercesystem. In such a case, each separate business account will contain thesame terms and conditions reflecting the hosting contract. Where suchhosting contract terms and conditions are modified, each businessaccount for hosted stores will require appropriate alterations.

In e-commerce systems, the management of trading agreements may alsobecome fragmented. Typically, a single trading agreement is structuredas a single object. However, it is also common for different users tospecify different sets of terms and conditions within that singleobject. It is potentially unwieldy to allow different participants toedit different subsets of the terms and conditions in the object thatdefines a trading agreement.

For example, a contract trading agreement typically includes terms andconditions to specify a set of available products and prices covered bythe contract. A buyer may wish to further restrict the set of products,and may also seek to restrict the set of permitted payment methods orship-to addresses. Placing the latter terms and conditions in thecontract typically requires involvement of a contract administrator toinclude the terms in the trading agreement and to manage anymodifications as the buyer's needs change. Given a large number ofcontracts, the contract administrators are required to carry outsignificant amounts of updating of individual trading agreements.

A further issue arises when an organization setting up an e-commerce website does not wish to create the entire set of required terms andconditions for each customer. The business model of the organization mayrequire only a limited set of “template” contracts. In such a situation,the definition of a set of terms and conditions for each customer willnot be as efficient as asserting that the customer is to be associatedwith one of a set of template terms and conditions, as modified by somesmall set of changes to the terms and conditions.

Such templates are disclosed in Patent Cooperation Treaty PatentApplication Publication Number WO 00/70484, published Nov. 23, 2000,entitled “A Market Operating System,” naming Christopher Jens Cook asinventor. In the Cook reference, a buyer and a seller are able tocomplete an agreement. The seller is able to access a template for anagreement based on the trade options that the seller specifies. For agiven template, the seller will specify the terms that apply for theparticular transaction, either by providing the information manually orby selecting from stored options. Such an approach, although utilizingtemplates to permit reuse of terms, requires the seller to construct aspecific agreement for each transaction by selecting from optionsprovided. The Cook reference system therefore requires input by theseller for each transaction.

It is therefore desirable to provide an e-commerce system that permits aflexible and automated definition of terms and conditions for tradingagreements that are to govern e-commerce sessions.

SUMMARY OF THE INVENTION

Accordingly, the present invention provides a system and method forimproved definition and management of terms and conditions in e-commercetrading agreements governing e-commerce sessions.

An electronic commerce system supports on-line stores accessible by aset of buyers, each buyer having a buyer representation in theelectronic commerce system, with each buyer representation beingassociated with one of a set of one or more organizations. The systemdefines and maintains (i) a set of customer trading agreement dataitems, each including terms and conditions associated with one of theset of buyer representations and one or more of the on-line stores, (ii)a set of base trading agreement data items including terms andconditions, each of the base trading agreement data items beingavailable for reference by one or more of the customer trading agreementdata items or one or more of others of the set of base trading agreementdata items, (iii) a set of store settings trading agreement data items,each store settings trading agreement data item being associated withone of the on-line stores, and (iv) a set of organization-specifictrading agreement data items, each organization-specific tradingagreement data item being associated with one of the set oforganizations. The system also implements an application interface forreturning a set of governing terms and conditions for a buyer-storeelectronic commerce session, based on the referenced customer, base,store settings and organization-specific trading agreement data items.

According to an aspect of the present invention, there is provided anapplication interface for returning a set of governing terms andconditions that determines the set of governing conditions for thebuyer-store electronic commerce session by taking the union set of theterms and conditions specified in the customer trading agreement dataitem for the buyer-store electronic commerce session, any base tradingagreement data items referenced by the customer trading agreement dataitem and by other referenced base trading agreements, any store settingstrading agreement data items for the store of the buyer-store electroniccommerce session, and any organization-specific trading agreement dataitems for the ancestor organizations to the buyer representation in thebuyer-store electronic commerce session.

The present invention thus improves the ability to specify terms andconditions for e-commerce sessions. The approach of the inventionpermits a single infrastructure to control the business logic thatgoverns the sessions and define trading agreements in a flexible way.

The foregoing has outlined rather broadly the features and technicaladvantages of the present invention in order that the detaileddescription of the invention that follows may be better understood.Additional features and advantages of the invention will be describedhereinafter which form the subject of the claims of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of the present invention, and theadvantages thereof, reference is now made to the following descriptionstaken in conjunction with the accompanying drawings, in which:

FIG. 1 is a block diagram showing an exemplary configuration of ane-commerce system in accordance with an embodiment of the presentinvention;

FIG. 2 is a flowchart showing steps taken in accordance with anembodiment of the present invention; and

FIG. 3 is a block diagram of a data processing system configured inaccordance with embodiments of the present invention.

DETAILED DESCRIPTION

In the following description, numerous specific details are set forthsuch as specific network configurations, etc. to provide a thoroughunderstanding of the present invention. However, it will be obvious tothose skilled in the art that the present invention may be practicedwithout such specific details. In other instances, well-known circuitshave been shown in block diagram form in order not to obscure thepresent invention in unnecessary detail. For the most part, detailsconcerning timing considerations and the like have been omitted inasmuchas such details are not necessary to obtain a complete understanding ofthe present invention and are within the skills of persons of ordinaryskill in the relevant art.

Refer now to the drawings wherein depicted elements are not necessarilyshown to scale and wherein like or similar elements are designated bythe same reference numeral through the several views.

The present invention may be used to define e-commerce web sites, andallows users to define e-commerce stores accessible to buyers. Asimplified example configuration of a set of e-commerce web sites, andassociated data structures, defined by an e-commerce system inaccordance with an embodiment of the invention is shown in the blockdiagram of FIG. 1. The system permits the development of web sitesimplementing on-line stores that are accessible to buyers. The examplein FIG. 1 shows stores 10, 12. Buyers are registered in the e-commercesystem and a buyer representation is defined in the system. Buyersrepresented in the e-commerce system are each associated with one of aset of organizations, also represented in the e-commerce system. Theexample of FIG. 1 shows buyers 14, 15 associated with organization 16that is, in turn, associated with organization 18. As FIG. 1 shows,organizations may be defined to be parents or children of otherorganizations.

A buyer will interact with a store in a way that is defined in part by aset of terms and conditions. The terms and conditions for thebuyer-store interaction are defined dynamically based on a set oftrading agreements that are defined in the e-commerce system. In effect,when a buyer accesses a store web site, a governing set of terms andconditions is defined. A trading component provides applications with aset of interfaces to permit the look up of relevant terms and conditionsfor the governing trading agreement. The description below sets out howthis set of governing terms and conditions is generated, using theexample of FIG. 1.

There is a customer trading agreement definable for each buyer and thereare three types of trading agreements potentially defined and accessibleto allow the system to generate a governing set of terms and conditions.These three types of accessible agreements are 1) Base tradingagreements, 2) Customer Preference, and 3) Store Settings.

For each buyer-store combination, there is a customer trading agreementspecified. This agreement contains terms and conditions used to definethe governing terms and conditions of the trading arrangement betweenthe buyer and the store the buyer is deal with. In the example of FIG.1, customer trading agreement 19 is a customer trading agreementspecified for buyer 14 and store 12. A customer trading agreement mayrefer to base trading agreements. FIG. 1 shows customer tradingagreement 19 referencing base trading agreement 20. Similarly, theinteraction between buyer 15 and store 12 is subject to customer tradingagreement 21, which also references base trading agreement 20. Basetrading agreement 20, in turn, references base trading agreement 22. Theunion of the terms and conditions of trading agreements 19, 20, 22 iscalculated, and this union is part of what is used in determining thegoverning terms and conditions for buyer 14 and store 12. Similarly, theunion of terms and conditions in trading agreements 21, 20, 22 arepartially determinative of the governing terms and conditions for buyer15 using store 12.

As will be described below, the set union operator is used for thedifferent sets of terms and conditions that are defined as potentiallyinfluencing the governing terms and conditions for a buyer and store inthe e-commerce system. As is also referred to, there are also a numberof conflict rules that may be implemented in the e-commerce system toavoid incompatible terms and conditions being included in the governingset. Apart from these conflict rules, the approach is to take the unionof all terms and conditions.

The second type of terms and conditions that are definable are customerpreference terms and conditions. These are definable for differentorganizations represented in the e-commerce system. The simple exampleof FIG. 1 shows customer preferences 24, 26 defined in association withorganizations 16, 18, respectively. The customer preference terms andconditions are determined by finding all customer preference tradingagreements for all organizations which are parents of the organizationwith which the buyer is associated, and returning the union of all termsand conditions in those trading agreements. It will be noted that eachset of customer preference terms and conditions are specific to adefined organization. The customer preference terms and conditions aredefined by accessing all parent organizations of the organization towhich the buyer belongs. However, other implementations may access onlya defined subset of the parent organizations to determine the applicableterms and conditions.

The third type of terms and conditions are those in the store settingsfor the store in question. In the example implementation of FIG. 1,store 10 has associated store settings 28 and store 12 has associatedstore settings 30. The store settings are terms and conditions that areintended to apply to all transactions carried out at the store's website. Thus, the terms and conditions defined in store settings 28 areautomatically appended to all contracts and other trading agreements forstore 10.

Examples of the types of customer preferences terms and conditionsinclude:

-   -   acceptable ship-to addresses    -   acceptable shipping modes    -   acceptable payment methods    -   product catalog inclusions and exclusions

The types of terms and conditions definable for store settings mayinclude these same terms and conditions that are definable for thecustomer preferences.

As may be seen from this description and the further detail set outbelow, the approach of an embodiment allows a single infrastructure tobe used to define the business logic for different stores,organizations, and buyers. The custom business logic required in othersystems is not required in the system. The governing terms andconditions for a transaction are determined by querying the appropriatecustomer trading agreement. The result of the query will be the systemcarrying out steps so that the entire set of governing terms andconditions are returned. While an appropriate application simply callsan interface to look up a set of terms and conditions for the customertrading agreement, the implementation of the interface looks for termsand conditions in the three other types of trading agreements, asreferred to above. This is seen with reference to the flowchart of FIG.2.

In the system, it is possible to query the appropriate customer tradingagreement for terms and conditions of a defined type. For example,payment terms and conditions or shipping terms and conditions may beseparately queried for. The steps shown in FIG. 2 may be carried out forterms and conditions of a defined type only, or for the entire set ofterms and conditions.

The steps shown in FIG. 2 are followed in the lookup interface to findsuch governing terms and conditions for the interaction between a buyerand a store:

1. The system initially looks up terms and conditions, for the requestedtrading agreement, by locating the customer trading agreement (step 40);

2. Terms and conditions from the located trading agreement are added toa result set (step 42);

3. The agreement is checked for a referencing term in the tradingagreement (decision step 44). If so, the referenced base tradingagreement is located (step 46) and step 2 is repeated;

4. In the case where the store has a “store settings” trading agreement,its terms and conditions are added to the result set (step 48);

5. The parent organization of the buyer is located (step 50);

6. A check determines whether the parent organization has a “customerpreferences” trading agreement. If the parent organization does have acustomer preferences trading agreement, then the terms and conditionsare added to the result set (step 52).

7. Whether there is a parent for the current organization is determined(decision step 54). If there is, find that parent organization, andrepeat step 6 above (step 56).

8. Return the result set of terms and conditions to the application(step 58).

Caching techniques may be used to improve performance. For example:

-   -   all store setting trading agreements are cached in memory; and    -   a lazy-fetch cache of relationships between trading agreements        is implemented.        Thus, once a trading agreement is found to reference another        trading agreement, this referencing relationship is kept in        memory. This way, in step (3) above, before looking for a        referencing base trading agreement, the cache is checked first,        to see whether this trading agreement already is known to        reference another trading agreement. If an entry exists        indicating the referenced trading agreement, then that trading        agreement is used. If an entry exists in the cache indicating        that this trading agreement does not reference any other trading        agreements, then a trading agreement reference is no longer        looked for. A search for a trading agreement reference only        continues if no cache entry exists for the requested trading        agreement.

It is expected that in most implementations of e-commerce web sitesdefined using the system, there will be fewer referenced base tradingagreements than base trading agreements that are directly related to abuyer-store session. Therefore, it is desirable to have a separate cacheof all referenced trading agreements and their terms and conditions,from the cache of requested trading agreements and their terms andconditions.

The above description refers to the union of terms being taken to give aresult set of governing terms and conditions. However, in the system itis possible to define conflict rules to prevent the union operationgiving a result set that includes inconsistent terms and conditions.Such rules are defined in an implementation-specific manner. The systempermits such conflict rules to be defined to avoid defined inconsistentterms.

In the description above, there are store settings trading agreementsand customer preferences trading agreements that are definable by thesystem. The system may be extended to include other entities thatpotentially influence the terms and conditions of the buyer-storeinteraction. For example, the system may be extended to includerepresentations of laws and regulations for different jurisdictions. Thesystem may include terms and conditions that the local laws of ajurisdiction include in buyer contracts. Such additional terms andconditions may be dealt with in the manner set out above for customerpreferences trading agreements.

The example of terms and conditions mandated by laws and regulations maybe implemented by including the local jurisdiction as an organization inthe hierarchy of organizations to which a buyer belongs. Alternatively,the system may be extended to include a separate set of legaljurisdiction organizations that have related terms and conditions whichare represented in the system and which are accessed to determinegoverning terms and conditions for a buyer-store interaction. In thelatter case, the system will be modified to access the defined terms andconditions for the relevant local jurisdiction as part of the steps indetermining the governing terms and conditions. These types of terms andconditions are, like the customer preferences terms and conditionsreferred to above, organization-specific.

Referring to FIG. 3, an example is shown of a data processing system 300which may be used to implement the processes described herein, and anyof the hardware used to implement the processes. The system has acentral processing unit (CPU) 310, which is coupled to various othercomponents by system bus 312. Read only memory (“ROM”) 316 is coupled tothe system bus 312 and includes a basic input/output system (“BIOS”)that controls certain basic functions of the data processing system 300.Random access memory (“RAM”) 314, I/O adapter 318, and communicationsadapter 334 are also coupled to the system bus 312. I/O adapter 318 maybe a small computer system interface (“SCSI”) adapter that communicateswith a disk storage device 320. Communications adapter 334 interconnectsbus 312 with an outside network enabling the data processing system tocommunicate with other such systems. Input/Output devices are alsoconnected to system bus 312 via user interface adapter 322 and displayadapter 336. Keyboard 324 and speaker 328 are all interconnected to bus312 via user interface adapter 322. Display monitor 338 is connected tosystem bus 312 by display adapter 336. In this manner, a user is capableof inputting to the system throughout the keyboard 324, or mouse 326 andreceiving output from the system via display 338.

Implementations of the invention include implementations as a computersystem programmed to execute the method or methods described herein, andas a computer program product. According to the computer systemimplementation, sets of instructions for executing the method or methodsmay be resident in the random access memory 314 of one or more computersystems configured generally as described above. Until required by thecomputer system, the set of instructions may be stored as a computerprogram product in another computer memory, for example, in disk drive320 (which may include a removable memory such as an optical disk orfloppy disk for eventual use in the disk drive 320). Further, thecomputer program product can also be stored at another computer andtransmitted when desired to the user's work station by a network or byan external network such as the Internet. One skilled in the art wouldappreciate that the physical storage of the sets of instructionsphysically changes the medium upon which it is stored so that the mediumcarries computer readable information. The change may be electrical,magnetic, chemical, biological, or some other physical change. While itis convenient to describe the invention in terms of instructions,symbols, characters, or the like, the reader should remember that all ofthese and similar terms should be associated with the appropriatephysical elements.

Note that the invention may describe terms such as comparing,validating, selecting, identifying, or other terms that could beassociated with a human operator. However, for at least a number of theoperations described herein which form part of at least one of theembodiments, no action by a human operator is desirable. The operationsdescribed are, in large part, machine operations processing electricalsignals to generate other electrical signals.

Various embodiments of the present invention having been thus describedin detail by way of example, it will be apparent to those skilled in theart that variations and modifications may be made without departing fromthe invention. The invention includes all such variations andmodifications as fall within the scope of the appended claims.

1. A computer program product for implementing an electronic commercesystem supporting on-line stores accessible by a set of buyers, eachbuyer having a buyer representation in the electronic commerce system,each buyer representation being associated with one of a set of one ormore organizations, the computer program product comprising a computerusable medium having computer readable program code means embodied insaid medium, and comprising: computer readable program code means fordefining and maintaining a set of customer trading agreement data items,each comprising terms and conditions associated with one of the set ofbuyer representations and one or more of the on-line stores; computerreadable program code means for defining and maintaining a set of basetrading agreement data items comprising terms and conditions, each ofthe base trading agreement data items being available for reference byone or more of the customer trading agreement data items or one or moreof others of the set of base trading agreement data items; computerreadable program code means for defining and maintaining a set of storesettings trading agreement data items, each store settings tradingagreement data item being associated with one of the on-line stores;computer readable program code means for defining and maintaining a setof organization-specific trading agreement data items, eachorganization-specific trading agreement data item being associated withone of the set of organizations; and computer readable program codemeans for implementing an application interface for returning a set ofgoverning terms and conditions for a buyer-store electronic commercesession, based on the referenced customer, base, store settings andorganization-specific trading agreement data items.
 2. The computerprogram product of claim 1 in which the application interface forreturning a set of governing terms and conditions determines the set ofgoverning conditions for the buyer-store electronic commerce session bytaking the union set of the terms and conditions specified in thefollowing trading agreements, where such agreements are defined tocomprise: a. the customer trading agreement data item for thebuyer-store electronic commerce session, b. any base trading agreementdata items referenced by the customer trading agreement data item and byother referenced base trading agreements, c. any store settings tradingagreement data items for the store of the buyer-store electroniccommerce session, and d. any organization-specific trading agreementdata items for the ancestor organizations to the buyer representation inthe buyer-store electronic commerce session.
 3. (canceled)
 4. Thecomputer program product of claim 1 further comprising computer readableprogram code means for defining and maintaining a cache memory used forthe storage and retrieval of store setting trading agreement data items.5. The computer program product of claim 1 further comprising computerreadable program code means for defining and maintaining a cache memoryfor storage and retrieval of referencing information regarding tradingagreements and referenced trading agreement data items.
 6. An electroniccommerce system supporting on-line stores accessible by a set of buyers,each buyer having a buyer representation in the electronic commercesystem, each buyer representation being associated with one of a set ofone or more organizations, the system comprising: means for defining andmaintaining a set of customer trading agreement data items, eachcomprising terms and conditions associated with one of the set of buyerrepresentations and one or more of the on-line stores; means fordefining and maintaining a set of base trading agreement data itemscomprising terms and conditions, each of the base trading agreement dataitems being available for reference by one or more of the customertrading agreement data items or one or more of others of the set of basetrading agreement data items; means for defining and maintaining a setof store settings trading agreement data items, each store settingstrading agreement data item being associated with one of the on-linestores; means for defining and maintaining a set oforganization-specific trading agreement data items, eachorganization-specific trading agreement data item being associated withone of the set of organizations; and an application interface forreturning a set of governing terms and conditions for a buyer-storeelectronic commerce session, based on the referenced customer, base,store settings and organization-specific trading agreement data items.7. The system of claim 6 in which the application interface forreturning a set of governing terms and conditions determines the set ofgoverning conditions for the buyer-store electronic commerce session bytaking the union set of the terms and conditions specified in thefollowing trading agreements, where such agreements are defined tocomprise: the customer trading agreement data item for the buyer-storeelectronic commerce session; any base trading agreement data itemsreferenced by the customer trading agreement data item and by otherreferenced base trading agreements; any store settings trading agreementdata items for the store of the buyer-store electronic commerce session;and any organization-specific trading agreement data items for theancestor organizations to the buyer representation in the buyer-storeelectronic commerce session.
 8. (canceled)
 9. The system of claim 6 inwhich a cache memory is used to store setting trading agreement dataitems.
 10. The system of claim 6 in which a cache memory is used tostore referencing information regarding trading agreements and forstoring referenced trading agreement data items.
 11. Acomputer-implemented method for defining governing terms and conditionsfor a transaction in an electronic commerce system, the systemsupporting on-line stores accessible by a set of buyers, each buyerhaving a buyer representation in the electronic commerce system, eachbuyer representation being associated with one of a set of one or moreorganizations, the method comprising the steps of: defining andmaintaining a set of customer trading agreement data items, eachcomprising terms and conditions associated with one of the set of buyerrepresentations and one or more of the on-line stores; defining andmaintaining a set of base trading agreement data items comprising termsand conditions, each of the base trading agreement data items beingavailable for reference by one or more of the customer trading agreementdata items or one or more of others of the set of base trading agreementdata items; defining and maintaining a set of store settings tradingagreement data items, each store settings trading agreement data itembeing associated with one of the on-line stores; defining andmaintaining a set of organization-specific trading agreement data items,each organization-specific trading agreement data item being associatedwith one of the set of organizations; and determining the governingterms and conditions for the buyer-store electronic commerce session forthe said transaction, based on any referenced customer, base, storesettings and organization-specific trading agreement data items.
 12. Themethod of claim 11 in which the step of determining the governing termsand conditions comprises the step of taking the union set of the termsand conditions specified in the trading agreements defined to comprise:the customer trading agreement data item for the buyer-store electroniccommerce session; any base trading agreement data items referenced bythe customer trading agreement data item and by other referenced basetrading agreements; any store settings trading agreement data items forthe store of the buyer-store electronic commerce session; and anyorganization-specific trading agreement data items for the ancestororganizations to the buyer representation in the buyer-store electroniccommerce session.
 13. (canceled)
 14. The method of claim 11 furthercomprising the step of placing a copy of store setting trading agreementdata items in a cache memory.
 15. The method of claim 11 furthercomprising the step of storing referencing information regarding tradingagreements and referenced trading agreement data items in a cachememory.